/*
Promise -> 承诺 表示在未来的某个时刻可能会完成并返回结果

对于某些需要时间处理结果的操作，如用户登录、读取文件等，可以使用Promise对象来异步完成
Promise对象有三种状态: pending(待处理)、fulfilled(已履行)、rejected(被拒绝)

当创建一个Promise对象时，它的初始化状态为pending,表示异步执行还未完成
当异步执行成功时，会调用 resolve 函数把 Promise 对象的状态改变为 fulfilled
可以通过then方法来获取异步操作的结果
当异步执行异常时，会调用 reject 函数把 Promise 对象的状态更改为 rejected，可通过 catch 方法来处理错误

同步：你排队买奶茶，前面的人没买完，轮不到你，必须等着。
异步：你点了奶茶，店员让你等着，她可以接着服务下一个顾客，等奶茶做好了再叫你。

*/

let promise = new Promise((resolve, reject) => {
    // resolve('异步执行结果')
    reject('异步执行异常')
})

// then 方法获取异步操作的结果
// catch 方法处理异步操作的异常
// finally 方法无论异步操作是否成功，都会执行
promise
    .then(result => console.log("result:", result))
    .catch(error => console.log("error:", error))
    .finally(() => console.log("异步操作完成"))